package com.dooioo.pns.business.service;

import com.dooioo.pns.base.service.BaseService;
import com.dooioo.pns.entity.model.DeviceLogoutTask;
import org.springframework.stereotype.Service;

import java.util.HashMap;
import java.util.List;
import java.util.Map;

/**
 * Created with IntelliJ IDEA.
 * PackageName:com.dooioo.support.service
 * Author: Jerry.hu
 * Create: Jerry.hu (2015-04-07 上午11:03)
 * Description: 设备APP信息
 */
@Service
public class DeviceLogoutTaskService extends BaseService<DeviceLogoutTask> {

	/**
	 * 获取需要踢出的设备信息
	 * @return
	 */
	public List<DeviceLogoutTask> getLogoutTask(){
		return super.selectList(sqlId("queryLogoutTask"));
	}

	/**
	 * 删除 已经踢掉设备的信息
	 * @param id
	 * @return
	 */
	public boolean delete(int id){
		return super.delete(sqlId("delete"), id);
	}

	/**
	 * 插入需要踢出的设备id
	 * @param id
	 * @return
	 */
	public boolean insert(int id,String logoutMsg){
		Map<String,Object> map = new HashMap<>();
		map.put("id",id);
		map.put("logoutMsg",logoutMsg);

		return super.insert(sqlId("insert"), map);
	}

	/**
	 * 更新注册后的deviceId
	 * @param id
	 * @param deviceId
	 * @return
	 */
	public boolean update(int id,String deviceId){
		Map<String,Object> map = new HashMap<>();
		map.put("id",id);
		map.put("deviceId",deviceId);
		return super.update(sqlId("updateDeviceId"), map);
	}

	/**
	 * 获取需要提出设备，但是未注册的设备信息
	 * @return
	 */
	public List<DeviceLogoutTask> getLogoutTaskRegisters() {
		return super.selectList(sqlId("queryLogoutTaskRegisters"));
	}

	public List<DeviceLogoutTask> getClearTask() {
		return super.selectList(sqlId("queryClearTask"));
	}


	/**
	 * 更新被踢设备的 消息id
	 * @param id 设备id
	 * @param status 设备状态值
	 * @param messageId messageId 消息id
	 * @return true 成功，false 失败
	 */
	public boolean updateInfo(int id, int status, String messageId) {
		Map<String,Object> map = new HashMap<>();
		map.put("id",id);
		map.put("status",status);
		map.put("messageId",messageId);
		return super.update(sqlId("updateInfo"), map);
	}
}
